/**
 * 基本数据类型操作
 */

//添加JSON格式判断
function isJson(str){
  try {
    JSON.parse(str);
  } catch (e) {
    console.log(e);
    return false;
  }
  return true;
}

//空对象验证
const emptyObj=(obj)=>{
  for(let i in obj){
    return false;
  }
  return true;
}

//去除对象前后空格
function trimObj(obj){
  for(let k in obj){
    if(typeof obj[k] == "string"){
      obj[k]=obj[k].trim()
    }
  }
  return obj
}

//js引用类型克隆
const clone=(obj)=>{
  let o;
  if(typeof obj!=="object"){
    o=obj;
  }else if(obj===null){
    o=null;
  }else if(obj instanceof Array)
  {
    o=[];
    for(let i=0;i<obj.length;i++){
      o.push(clone(obj[i]));
    }
  }else{
    o={};
    for(let key in obj){
      o[key]=clone(obj[key]);
    }
  }
  return o;
}

//输入纯数字
function justNumber(str){
  let _reg = /[^0-9]/g;
  str = str.replace(_reg,"");
  return str
}

//百分比并抹零
function rateBrief(num,digits){
  digits = digits?digits:1;//小数位数
  num = num*100;
  return (num*10**digits+.5|0)/10**digits
}


//数组最大值索引
const findMaxValueIndex = arr => {
  let max_value,max_index = 0;
  Array.isArray(arr)&&arr.forEach((v,i)=>{
    if(v>max_value){
      max_value = v;
      max_index = i
    }
  })
  return max_index
}